package com.wangxiang.shop.product.controller;

import java.util.Arrays;
import java.util.List;
import java.util.Map;

import com.wangxiang.common.utils.PageEntity;
import com.wangxiang.shop.product.entity.PhoneSkuEntity;

import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.RestController;

import com.wangxiang.shop.product.entity.PhoneSpuEntity;
import com.wangxiang.shop.product.service.PhoneSpuService;
import com.wangxiang.common.utils.PageUtils;
import com.wangxiang.common.utils.R;



/**
 * 
 *
 * @author wangxiang
 * @email 2293672863@qq.com
 * @date 2022-03-15 20:18:48
 */
@RestController
@RequestMapping("product/phonespu")
public class PhoneSpuController {
    @Autowired
    private PhoneSpuService phoneSpuService;



    /**
     * 主体分页
     * @param pageEntity
     * @return
     */
    @RequestMapping("page")
    public R page(@RequestBody PageEntity pageEntity){
        PageEntity page = phoneSpuService.page(pageEntity);
        return R.ok().put("data",page);
    }
    @RequestMapping("search")
    public R search(@RequestBody PageEntity pageEntity){
        if (pageEntity.getLike() == ""){
            return R.ok().put("msg","请输入内容再再查寻").put("code",700);
        }
        PageEntity like = phoneSpuService.like(pageEntity);
        return R.ok().put("data",like);
    }

    @RequestMapping("list")
    public R list(@RequestBody PhoneSpuEntity phoneSpu){
        List<PhoneSpuEntity> list = phoneSpuService.list(phoneSpu);
        return R.ok().put("list",list);
    }

    /**
     * 修改
     * @param phoneSpu
     * @return
     */
    @RequestMapping("update")
    public R update(@RequestBody PhoneSpuEntity phoneSpu){

        if (phoneSpu.getBrand()==null&phoneSpu.getTitle()==null&phoneSpu.getBrand()==null&phoneSpu.getPrice()==null){
            return R.error("如果要修改请至少填写一项修改数据");
        }
        int update = phoneSpuService.update(phoneSpu);
        if (update>0){
            return R.ok().put("msg","修改成功").put("code",800);
        }
        return R.error("修改失败");
    }

    /**
     * 涉及到spu,sku表单计算和系统模块的接口调用
     * @param phoneSpu
     * @return
     */
    @RequestMapping("add")
    public R add(@RequestBody PhoneSpuEntity phoneSpu){
        if (phoneSpu.getTitle()==null){
            return R.error("标题不能为空");
        }
        if (phoneSpu.getType()==null){
            return R.error("你必须填写商品类型");
        }
        if (phoneSpu.getBrand()==null){
            return R.error("本系统不接受无品牌商品，你必须填写商品品牌");
        }
        if (phoneSpu.getPrice()==null){
            return R.error("没有价格将会造成商家的经济损失，请管理员联系商家确定商品价格");
        }
        if (phoneSpu.getNum()==0){
            return R.error("你并未添加库存数量");
        }

//        System.out.println("数码库存属性："+phoneSpu.getDevColorSizeNum());
        int add = phoneSpuService.add(phoneSpu);
        if (add==1){
            return R.error("库存插入失败");
        }
        if (add==2){
            return R.error("添加失败，系统错误，请联系管理员");
        }
        //审核模块接口调用






        //添加
        return R.ok().put("msg","成功为数码类添加第："+add+" 件商品，待审核").put("code",800);
    }




}
